package w83b.w83bDAO;

import java.util.ArrayList;
import java.util.List;

import w83b.util.jdbc.W83bDataBase;
import w83b.w83bBeans.W83bUsuarioXLNetsBean;
import w83b.w83bDAO.w83bConstantesBD.W83bDelegacionesBD;
import w83b.w83bDAO.w83bConstantesBD.W83bMunicipiosBD;
import w83b.w83bDAO.w83bConstantesBD.W83bSindicatosBD;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import w83b.w83bUtilidadesComunes.W83bUtilidadesN38API;


public class W83bComunesDAO implements W83bIComunesDAO {
	/* (non-Javadoc)
	 * @see w83b.w83bDAO.W83bIMantenimientosDAO#buscarAgrupaciones(w83b.w83bBeans.W83bAgrupacionesBean)
	 */
	public java.util.List buscarDatosUsuario(w83b.w83bBeans.W83bUsuarioXLNetsBean param) throws Exception{
		StringBuffer strSql = new StringBuffer(W83bClsConstantes.CUARENTA);
		List params = new ArrayList();
		
		strSql.append("SELECT ");
		strSql.append(W83bDelegacionesBD.C_TERRIT_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.CALLE_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.NUM_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.PISO_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.LETRA_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.CP_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.LOCALIDAD_051);
		strSql.append(", ");
		strSql.append(W83bMunicipiosBD.nomMunic_Cast);
		strSql.append(" AS TXTCASLOCALIDADMIN , ");
		strSql.append(W83bMunicipiosBD.nomMunic_Eusk);
		strSql.append(" AS TXTEUSLOCALIDADMIN");
		strSql.append(", UPPER(");
		strSql.append(W83bMunicipiosBD.nomMunic_Cast);
		strSql.append(") AS TXTCASLOCALIDAD , UPPER(");
		strSql.append(W83bMunicipiosBD.nomMunic_Eusk);
		strSql.append(") AS TXTEUSLOCALIDAD , ");
		strSql.append(W83bDelegacionesBD.TELEFONO1_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.TELEFONO2_O51);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.FAX_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.REG_MANUAL_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.NUMMOD_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.NUMMODSAL_051);
		
		strSql.append(" FROM ");
		strSql.append(W83bDelegacionesBD.delegacionesView).append(" , ").append(W83bMunicipiosBD.municipiosTable);
		strSql.append(" WHERE ");
		strSql.append(W83bDelegacionesBD.C_TERRIT_051);
		strSql.append(" = ? ");
		strSql.append(" AND ");
		strSql.append(W83bMunicipiosBD.codMunic).append(" = ").append(W83bDelegacionesBD.LOCALIDAD_051);
		strSql.append(" AND ");
		strSql.append(W83bMunicipiosBD.codProvincia).append(" = ").append(W83bDelegacionesBD.C_TERRIT2_051);
		params.add(W83bUtilidadesN38API.elegirProvinciaDelegacion(param.getPerfilXLNets()));
		
		List lista = new ArrayList();
		
		lista.add(param);
		lista.add("completo");
		
		List listaUsuarios = W83bDataBase.executeQuery(strSql.toString(),params,W83bUsuarioXLNetsBean.class,param.getUsuarioBean(), lista);
		
		return listaUsuarios;	
	}
	/* (non-Javadoc)
	 * @see w83b.w83bDAO.W83bIMantenimientosDAO#buscarAgrupaciones(w83b.w83bBeans.W83bAgrupacionesBean)
	 */
	public java.util.List buscarDatosUsuarioLimitado(w83b.w83bBeans.W83bUsuarioXLNetsBean param) throws Exception{
		StringBuffer strSql = new StringBuffer(W83bClsConstantes.CUARENTA);
		List params = new ArrayList();
		
		strSql.append("SELECT ");
		strSql.append(W83bDelegacionesBD.NUMMOD_051);
		strSql.append(", ");
		strSql.append(W83bDelegacionesBD.NUMMODSAL_051);
		
		strSql.append(" FROM ");
		strSql.append(W83bDelegacionesBD.delegacionesView);
		strSql.append(" WHERE ");
		strSql.append(W83bDelegacionesBD.C_TERRIT_051);
		strSql.append(" = ? ");
		params.add(W83bUtilidadesN38API.elegirProvinciaDelegacion(param.getPerfilXLNets()));
		
		List lista = new ArrayList();
		
		lista.add(param);
		lista.add("parcial");
		
		List listaUsuarios = W83bDataBase.executeQuery(strSql.toString(),params,W83bUsuarioXLNetsBean.class,param.getUsuarioBean(), lista);
		
		return listaUsuarios;	
	}
	/* (non-Javadoc)
	 * @see w83b.w83bDAO.W83bIMantenimientosDAO#buscarAgrupaciones(w83b.w83bBeans.W83bAgrupacionesBean)
	 */
	public java.util.List buscarDatosUsuarioLimitadoRegistroAutomat(w83b.w83bBeans.W83bUsuarioXLNetsBean param) throws Exception{
		StringBuffer strSql = new StringBuffer(W83bClsConstantes.CUARENTA);
		List params = new ArrayList();
		
		strSql.append("SELECT ");
		strSql.append(W83bDelegacionesBD.REG_MANUAL_051);

		
		strSql.append(" FROM ");
		strSql.append(W83bDelegacionesBD.delegacionesView);
		strSql.append(" WHERE ");
		strSql.append(W83bDelegacionesBD.C_TERRIT_051);
		strSql.append(" = ? ");
		params.add(W83bUtilidadesN38API.elegirProvinciaDelegacion(param.getPerfilXLNets()));
		
		List lista = new ArrayList();
		
		lista.add(param);
		lista.add("parcialRegistroAutomat");
		
		List listaUsuarios = W83bDataBase.executeQuery(strSql.toString(),params,W83bUsuarioXLNetsBean.class,param.getUsuarioBean(), lista);
		
		return listaUsuarios;	
	}
	
	/* (non-Javadoc)
	 * @see w83b.w83bDAO.W83bIComunesDAO#buscarSiglasSindicato(java.lang.String)
	 */
	public String buscarSiglasSindicato(String codSindicato) throws Exception{
		StringBuffer strSql = new StringBuffer(W83bClsConstantes.CUARENTA);
		List params = new ArrayList();
		
		strSql.append("SELECT ");
		strSql.append(W83bSindicatosBD.siglas);
		
		strSql.append(" FROM ");
		strSql.append(W83bSindicatosBD.sindicatosVista);
		strSql.append(" WHERE ");
		strSql.append(W83bSindicatosBD.codSindicato);
		strSql.append(" = ? ");
		params.add(new Integer(codSindicato));
		
		List listaSindicato = W83bDataBase.executeSimpleQuerySinTrazas(strSql.toString(),params,null);
		
		return (String)listaSindicato.get(0);	
	}
	
	


}